package com.boe.csb.core.dao;

import com.boe.csb.core.entity.po.BoeApiInfo;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface BoeApiInfoMapper {
    long countByExample(BoeApiInfoCriteria example);

    int deleteByExample(BoeApiInfoCriteria example);

    int deleteByPrimaryKey(Long id);

    int insert(BoeApiInfo record);

    int insertSelective(BoeApiInfo record);

    List<BoeApiInfo> selectByExampleWithBLOBsWithRowbounds(BoeApiInfoCriteria example, RowBounds rowBounds);

    List<BoeApiInfo> selectByExampleWithBLOBs(BoeApiInfoCriteria example);

    List<BoeApiInfo> selectByExampleWithRowbounds(BoeApiInfoCriteria example, RowBounds rowBounds);

    List<BoeApiInfo> selectByExample(BoeApiInfoCriteria example);

    BoeApiInfo selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") BoeApiInfo record, @Param("example") BoeApiInfoCriteria example);

    int updateByExampleWithBLOBs(@Param("record") BoeApiInfo record, @Param("example") BoeApiInfoCriteria example);

    int updateByExample(@Param("record") BoeApiInfo record, @Param("example") BoeApiInfoCriteria example);

    int updateByPrimaryKeySelective(BoeApiInfo record);

    int updateByPrimaryKeyWithBLOBs(BoeApiInfo record);

    int updateByPrimaryKey(BoeApiInfo record);

    List<BoeApiInfo> selectByDesc(@Param("desc") String desc,@Param("offset")Integer offset,@Param("limit")Integer limit);

    Integer countByDesc(@Param("desc") String desc);
    
    Map<String,String> getServiceUserEmail(@Param("id") Long id);
    
    BoeApiInfo loadApiInfo(Long csb_api_id);
}